{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "c6dea874",
   "metadata": {},
   "source": [
    "# Ungraded Lab - Summary Statistics\n",
    "\n",
    "In this notebook, you will be working with two distinct datasets. You will notice that relying solely on the main statistical measures such as mean, variance (or standard deviation), and correlation may not always effectively describe the datasets. Therefore, it is always advisable to supplement these measures with visualization techniques and/or other statistical measures to gain a deeper understanding of the data.\n",
    "\n",
    "You will be working with two well-known datasets: Anscombe's quartet and the Datasaurus Dozen dataset. These datasets are artificially generated and are used to illustrate the fact that some metrics can fail to capture important information present in a dataset. More specifically, these datasets are used to demonstrate how relying solely on metrics can sometimes be misleading. If you're interested, you can read more about Anscombe's quartet and the Datasaurus Dozen dataset at their respective [Wikipedia](https://en.wikipedia.org/wiki/Anscombe%27s_quartet) page and [Autodesk Research](https://damassets.autodesk.net/content/dam/autodesk/research/publications-assets/pdf/same-stats-different-graphs.pdf) article."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a74d2cd6",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import os\n",
    "import matplotlib.pyplot as plt\n",
    "import utils1\n",
    "%matplotlib widget\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d084f9c7",
   "metadata": {},
   "source": [
    "# 1.1 First data set - Anscombe's quartet\n",
    "\n",
    "This first dataset was initially constructed by the statistician Francis Anscombe to demonstrate both the importance of graphing data when analyzing it, and the effect of outliers and other influential observations on statistical properties. (From wikipedia)\n",
    "\n",
    "Let us explore the first dataset. To do this, you will be utilizing the popular Python library called [pandas](https://pandas.pydata.org/), specifically its main object known as [DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html#pandas.DataFrame).\n",
    "\n",
    "To read the dataset, which is stored in a `.csv file`, you can use the read_csv function in pandas. This function enables you to load a DataFrame immediately. For further information on this function, you can type help(pd.read_csv) in your code editor."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "8a5ad75e",
   "metadata": {},
   "outputs": [],
   "source": [
    "# This line of code reads the dataset named 'df_anscombe.csv', which is stored in the same directory as this notebook.\n",
    "df_anscombe = pd.read_csv('df_anscombe.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9fac4348",
   "metadata": {},
   "source": [
    "The call `df_anscombe.head()` will show you the first five rows of the data set, so you can have a look on its data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a20f11a7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>x</th>\n",
       "      <th>y</th>\n",
       "      <th>group</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10.0</td>\n",
       "      <td>8.04</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>8.0</td>\n",
       "      <td>6.95</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>13.0</td>\n",
       "      <td>7.58</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>9.0</td>\n",
       "      <td>8.81</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11.0</td>\n",
       "      <td>8.33</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      x     y  group\n",
       "0  10.0  8.04      1\n",
       "1   8.0  6.95      1\n",
       "2  13.0  7.58      1\n",
       "3   9.0  8.81      1\n",
       "4  11.0  8.33      1"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_anscombe.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "2080e010",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Let's determine the number of groups present in this dataset.\n",
    "df_anscombe.group.nunique()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bd9ce36c",
   "metadata": {},
   "source": [
    "This dataset comprises of four groups of data, each containing two components - `x` and `y`. To analyze the data, you can obtain the mean and variance of each group, as well as the correlation between x and y within each group. Pandas provides a built-in function called `DataFrame.describe` that displays common statistics for each variable. To group the data by the group column, you can use the `DataFrame.groupby` function."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "70946c36",
   "metadata": {},
   "source": [
    "The next block of code first groups the `DataFrame` based on the group column, and then applies the describe function to obtain the common statistics for each variable in each group."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "e66e9c08",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">x</th>\n",
       "      <th colspan=\"8\" halign=\"left\">y</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>group</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>11.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>3.316625</td>\n",
       "      <td>4.0</td>\n",
       "      <td>6.5</td>\n",
       "      <td>9.0</td>\n",
       "      <td>11.5</td>\n",
       "      <td>14.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>7.500909</td>\n",
       "      <td>2.031568</td>\n",
       "      <td>4.26</td>\n",
       "      <td>6.315</td>\n",
       "      <td>7.58</td>\n",
       "      <td>8.57</td>\n",
       "      <td>10.84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>11.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>3.316625</td>\n",
       "      <td>4.0</td>\n",
       "      <td>6.5</td>\n",
       "      <td>9.0</td>\n",
       "      <td>11.5</td>\n",
       "      <td>14.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>7.500909</td>\n",
       "      <td>2.031657</td>\n",
       "      <td>3.10</td>\n",
       "      <td>6.695</td>\n",
       "      <td>8.14</td>\n",
       "      <td>8.95</td>\n",
       "      <td>9.26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>11.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>3.316625</td>\n",
       "      <td>4.0</td>\n",
       "      <td>6.5</td>\n",
       "      <td>9.0</td>\n",
       "      <td>11.5</td>\n",
       "      <td>14.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>7.500000</td>\n",
       "      <td>2.030424</td>\n",
       "      <td>5.39</td>\n",
       "      <td>6.250</td>\n",
       "      <td>7.11</td>\n",
       "      <td>7.98</td>\n",
       "      <td>12.74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>3.316625</td>\n",
       "      <td>8.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>19.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>7.500909</td>\n",
       "      <td>2.030579</td>\n",
       "      <td>5.25</td>\n",
       "      <td>6.170</td>\n",
       "      <td>7.04</td>\n",
       "      <td>8.19</td>\n",
       "      <td>12.50</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          x                                               y            \\\n",
       "      count mean       std  min  25%  50%   75%   max count      mean   \n",
       "group                                                                   \n",
       "1      11.0  9.0  3.316625  4.0  6.5  9.0  11.5  14.0  11.0  7.500909   \n",
       "2      11.0  9.0  3.316625  4.0  6.5  9.0  11.5  14.0  11.0  7.500909   \n",
       "3      11.0  9.0  3.316625  4.0  6.5  9.0  11.5  14.0  11.0  7.500000   \n",
       "4      11.0  9.0  3.316625  8.0  8.0  8.0   8.0  19.0  11.0  7.500909   \n",
       "\n",
       "                                                 \n",
       "            std   min    25%   50%   75%    max  \n",
       "group                                            \n",
       "1      2.031568  4.26  6.315  7.58  8.57  10.84  \n",
       "2      2.031657  3.10  6.695  8.14  8.95   9.26  \n",
       "3      2.030424  5.39  6.250  7.11  7.98  12.74  \n",
       "4      2.030579  5.25  6.170  7.04  8.19  12.50  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_anscombe.groupby('group').describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "02532823",
   "metadata": {},
   "source": [
    "The groups appear to be quite similar, as evidenced by the identical mean and standard deviation values for both `x` and `y` within each group.\n",
    "\n",
    "Additionally, you can analyze the correlation between `x` and `y` within each group.\n",
    "\n",
    "To obtain the correlation matrix for each group, you can follow the same approach as before. First, group the data by the `group` column using `DataFrame.groupby`, and then apply the `.corr` function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "655b0377",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>x</th>\n",
       "      <th>y</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>group</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">1</th>\n",
       "      <th>x</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.816421</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>y</th>\n",
       "      <td>0.816421</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2</th>\n",
       "      <th>x</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.816237</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>y</th>\n",
       "      <td>0.816237</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">3</th>\n",
       "      <th>x</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.816287</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>y</th>\n",
       "      <td>0.816287</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">4</th>\n",
       "      <th>x</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.816521</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>y</th>\n",
       "      <td>0.816521</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                x         y\n",
       "group                      \n",
       "1     x  1.000000  0.816421\n",
       "      y  0.816421  1.000000\n",
       "2     x  1.000000  0.816237\n",
       "      y  0.816237  1.000000\n",
       "3     x  1.000000  0.816287\n",
       "      y  0.816287  1.000000\n",
       "4     x  1.000000  0.816521\n",
       "      y  0.816521  1.000000"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_anscombe.groupby('group').corr()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "facfef83",
   "metadata": {},
   "source": [
    "As observed, the correlation between `x` and `y` is identical within each group up to three decimal places. Moreover, the high correlation coefficient values suggest a strong linear correlation between `x` and `y` within each group.\n",
    "\n",
    "Despite the similarities in the statistical measures for the groups, it is still necessary to visualize the data to get a better understanding of the differences, if any."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "ba869efd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4b4b0356a6894e0ea9a6ade7db66d7a8",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAH0CAYAAADFQEl4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRv0lEQVR4nO3deXRU9f3/8dckIZMASTAgmUQhRASVLciuqCwWJPiNAoqKoMGtomK1/Noq+lVCa9lOa7FCKWoFcUfEnSpYNlERUIIsVlkCRE2MBE1YAySf3x98Z2TIJJnJcu9k5vk4Z85h7jLzzmUy77zvZ3MYY4wAAAAAwAIRdgcAAAAAIHxQgAAAAACwDAUIAAAAAMtQgAAAAACwDAUIAAAAAMtQgAAAAACwDAUIAAAAAMtQgAAAAACwDAUIAAAAAMtQgABAiBs7dqwcDofmz59vdygAAFCAAAg+nTt3lsPhUGxsrEpKSuwOBwHq37+/HA6Hdu/ebXcoDcLMmTOVnZ2tn3/+uU5fd+XKlcrOztbKlSvr9HUBoLYoQAAElZycHG3ZskWSdPToUS1atMjmiID6NXPmTE2ePLleCpDJkydTgAAIOhQgAILK888/L0lq1qyZ13MAABAaKEAABI2ysjK9/PLLkqRZs2YpMjJSq1at0t69e22ODAAA1BUKEABB48MPP1R+fr5cLpduuOEGDRw4UMYYvfjii5We4x5vsHLlSv33v//VyJEj1aJFC8XGxqp79+5auHChz/MOHTqkP/7xj+rSpYuaNGmimJgYtWrVSv3799e0adN0/PjxCuccPnxYf/nLX9SnTx81a9ZMjRs3Vrt27XTTTTdp1apVPt/jscce87xHfHy8evfurdmzZ+vEiRMVjl+5cqUcDof69++vsrIyTZ8+XRdccIFiY2PVpk0bZWdne847cuSIHnnkEZ177rmKiYlR27ZtNWPGDBljqrzG33zzja6//nq1bNlSsbGxuvDCC/Xss89Wec5///tf3XrrrWrTpo2cTqeaN2+uK6+8UsuXL6/yPF/XI9BrXpU9e/ZozJgxatmypRo3bqwuXbpo9uzZMsaoTZs2PsehOBwOORyOSl+zsvN27dql6dOnq3///mrVqpWcTqfOPPNMDRkyRO+9957P1zr1//PEiROaMWOGOnfurMaNG6tNmzaaP3++HA6H9uzZI0lKS0vzxOf+TJ9q//79evjhh9WpUyc1adJEcXFx6tOnj55++mmVl5dX+DknT54sSZo8ebLX644dO7b6iwsA9ckAQJC48cYbjSRz3333GWOMmT9/vpFkLrjggkrP6devn5Fk/vKXv5imTZuauLg40717d3PmmWcaSUaSef75573OOX78uOnTp4+RZCIiIsx5551nevToYVJSUkxERISRZH766Sevc/bs2WMuuOACz2u2a9fOdOvWzSQmJhpJpl+/fl7HFxYWms6dO3veo0uXLl7nDxo0yBw5csTrnBUrVnhe65prrvH87Oedd55xOBxGkrnlllvMkSNHTO/evU1kZKTp0qWLadOmjed1H3300QrXKCsry0gyDz30kElISDBOp9N069bNpKames679957fV7fV1991URHRxtJJi4uznTt2tW4XC4jyTgcDvP3v/+90v+T3NzcWl3zqmzbts00b97cSDIxMTGme/fupnXr1kaSufvuuz0/26kxGGM8P29lKjvvtttuM5JM06ZNTfv27U2PHj1McnKy5/WmTZtW4bXc/5+XXXaZufLKK40k07ZtW9O9e3fTsWNHs2TJEtO3b1/jdDqNJNOjRw/Tt29fz+OLL77wvNaWLVvMWWedZSSZ6Oho06FDB9O2bVvP5+Laa6815eXlnuP79u1rWrVqZSSZVq1aeb3un//8Z7+vMwDUBwoQAEHhwIEDpnHjxkaSWbdunTHGmJKSEhMbG2skmQ0bNvg8z/3HbqNGjcz48eM9f9SXl5ebBx54wEgyKSkp5sSJE55zFi1aZCSZ9PR0k5eX5/V6hYWFZubMmebQoUOebSdOnDDdu3f3/JG4bds2r3M2btxo/vGPf3htcxcQHTt2NDt27PBsX79+vUlKSjKSzB/+8Aevc9x/sDZq1MicffbZZuPGjZ59K1euNNHR0cbhcJirrrrKdO7c2ezcudOz/8UXXzSSjNPpNPv37/d6XXcBEhUVZQYMGGAKCws9+1577TXTqFEjI8m8++67Xudt2rTJOJ1OExMTY5566ilTVlbm2ff222+b+Ph4ExkZaXJyckx1Ar3mVSkvLzfdunUzkswVV1xhioqKPPtefvll06hRIxMVFVWnBciSJUvM2rVrvf7IN8aY1atXm+TkZBMZGen1/2zML/+fkZGRpmXLluaTTz7x7Du1+KzsPd0OHjxo2rZtaySZ3/zmN6a4uNizb+vWraZjx45Gkpk1a5bXeZMmTTKSzKRJkyr9eQHADhQgAIKCu7Xj3HPP9do+cuRIr1aR07kLkPT0dK8/kI0x5tixY5679afeTZ46daqRZJ544gm/Ylu4cKGRZFq2bGn27dtX7fHffPON5870qe97+us1adLElJSUeLa7/2CVZN54440K540aNcrT8uDrdd0tDIsXL/ba7i5AnE6nyc/Pr3DehAkTPHfqTzVixIgqr9OTTz5pJJlbb73V5/5TBXrNq/Lhhx8aSSY2Ntb8+OOPFfb/5je/8VzHuipAqvLMM88YSRVaFk79/3z99ddr/J5///vfjSQzfPhwn/s3bdpkHA6HOeecc7y2U4AACFaMAQEQFNyzXd14441e20ePHi1Jevnll32Om3C79dZbFRHh/ZXWqFEjpaenSzrZh9+tVatWkqT33ntPhw8frja2t956y/MezZs3r/b4ZcuWyRijSy65RBdeeGGF/ddcc43OPvtsHTp0SB9//HGF/YmJiRo2bFiF7V27dpUkXXjhhT5f173t1J/1VCNGjJDL5aqw/e6775Ykffzxxzp06JAk6dixY1qyZIkiIyMrHTNw1VVXSZLP8S+nC/SaV+WDDz6QJM94n9O5f5669uOPP+qJJ57QjTfeqF/96le65JJLdMkll2jmzJmSpE2bNvk8LyEhQVdffXWN33fx4sWSpNtvv93n/i5duqhNmzbatWuXvv322xq/DwBYJcruAADgu+++04oVKyRVLEAyMjJ0xhlnqLCwUEuXLtXQoUN9vkbbtm19bm/ZsqUk6eDBg55tw4YNU5s2bbR06VKlpKRoyJAhuvTSS9W/f3917Nixwmt89dVXkqQ+ffr49fN88803kqQOHTr43B8REaHzzz9f3377rb755hsNGTLEr5/lzDPP9Gv/qT/rqS644AKf28855xw5nU6VlpZq586d6tKli7755hsdPXpU0dHRlV5z838D3r/77juf+08V6DWvivv6VvbztGvXTlFRUVUWrIFaunSprrvuOhUXF1d6zP79+yuNJzIyssbvvXnzZknSo48+qilTpvg8Zt++fZJO/l+cffbZNX4vALACBQgA27344osqLy9Xt27ddN5553nti46O1siRI/XUU0/p+eefr/SP4SZNmvjc7m4VMafMDtWkSRN99NFHevTRR7Vo0SK9+uqrevXVVyWdLBqmT5+u//mf//Ec716N3b02SXXcBYC7+PElKSlJknTgwIEK+xo3buzzHPfsTdXtN5XMhFVZPA6HQ2eeeaa+/fZbTzzuP7SPHTvms5XmVEePHq1yvxT4Na+K+/q6C67TRUREqEWLFiooKPDr9arz888/64YbblBxcbFuvvlm3X333TrvvPMUHx+viIgIffjhhxo0aFCls3hV9tn0l/v/4vPPP6/22CNHjtTqvQDACnTBAmA7d/erL774wmu6UPfjqaeeknSyK5S7GKits88+W88++6z279+vtWvXatq0aerRo4e2bdumYcOG6bPPPvMcGxcXJ0l+r1TdtGlTSVJhYWGlx/zwww9er22FH3/80ed2Y4xnnzse989w1llnyZwcL1jlwx+BXPOquGOr7OcpLy9XUVFRla9RWczuLmin+ve//62ffvpJF110kebPn6/evXurWbNmnuI2Ly/Pr7hryv3zbt++vdr/h/79+9drLABQFyhAANhq48aN2rJlixwOh5KSkip9REdH68iRI3r99dfr9P2joqLUu3dvPfDAA1q/fr1uuOEGlZWVea2N4e4itHbtWr9es3379pKkbdu2+dxfXl6u//73v17HWsHdlex0ubm5Ki0tVUREhKd7V7t27dSoUSPl5+dX2rWopvy55lVxXzP3NTzdjh07qm2N8FW8FBcXe7oyncq9JshFF13kcw2RysZ++KuqdUmkX7rybdmypU5fFwDsQgECwFbu1o/LLrtMBQUFlT7+3//7f17H1xf3OI/vv//es809INx99746gwcPlsPh0Jo1a7Rx48YK+xcvXqxvv/1WTZo0Ud++fesmcD+8/vrrnpaXU/3jH/+QJPXt29fzB3rjxo11xRVXqLy8XH//+9/rNS5f17wqgwcPliS99tprPls63D+PL+ecc44kaf369RX2PfPMMz7PiY2NlSSf166oqEj/+te/qg+6Cu7Xr6z71IgRIyRJf//73/1ubfLndQHALhQgAGxTVlaml19+WZJ00003VXnsmDFjJJ1cXbq2XV7+9re/aebMmRX+oNy7d6/nj9Bu3bp5tg8bNkw9evRQYWGhhg4dqq+//trrvE2bNmnOnDme5+eee67nj8abb77Za1aqL774Qr/5zW8kSePHj7e0C1ZZWZlGjx7tdZf/jTfe0JNPPilJ+v3vf+91/J/+9Cc5nU499thjmjZtWoU/ZPPz8/XEE0/on//8Z7XvHeg1r8rll1+uCy+8UIcPH9ZNN92kn376ybNv4cKFmjNnjqKifA9xzMjIkCT97//+r1cs77//vv74xz/6PO/SSy/1vPaHH37o2Z6fn69rrrmm1oPd3UVRZbOJ3XnnnTrnnHO0YsUKjR49Wvn5+V77Dx48qIULF2rChAk+X/eTTz6p0wH5AFBr1s34CwDe/v3vf3tWsv7555+rPf7CCy80kszUqVM929zrgKxYscLnOe41MObNm+fZdt9993nWZ2jTpo3p1auXOf/8801kZKSRZDp16lQhnj179pjzzjvPc1779u1N9+7dPatxV7USemRkpElPTzcdOnTwnP+rX/2qypXQfZk3b56RZLKysnzur2zdB/c1mDhxoklISPCsHH7qCup33323z9dcvHixZ4HImJgY07VrV9OrVy/PKtuSzAMPPODz3FPV5JpXZcuWLZ5V6GNjY02PHj0862lUtRJ6YWGhZ20Yp9Npunbt6rkODz74YKXnXXvttZ74zz33XNO1a1cTFRVl4uLizMyZM33+v1X3/+m2YMECz2t36tTJ9OvXz/Tr189rIcqvvvrKpKWleVaSv+CCC0zv3r1N+/btPdewd+/eXq9bXFxszjjjDCPJJCcnm759+5p+/fp5/f4AgB1oAQFgG3d3qszMTCUkJFR7vLsVpLbdsMaNG6fs7GxddtllOn78uHJycvTTTz+pZ8+eevLJJ7Vu3boK8bRu3Vqff/65pk6dqm7duun777/XV199pcTERGVlZelPf/qT1/FnnnmmPv30U/3xj3/UBRdcoG+++UZ79uzxvMeSJUsUExNTq58jUO3bt9e6deuUmZmpvXv3Kj8/X+np6Xrqqac0a9Ysn+cMHz5c27Zt03333ac2bdro66+/1rZt29S4cWMNHz5czz33nB588MFq37sm17wqHTt21IYNG3TjjTeqcePG2rJli+Lj4/Xkk09W+rNIJ/9fPv74Y40cOVKNGzfW119/rTPOOEPz5s3T1KlTKz3vxRdf1COPPKI2bdpoz549Kigo0LXXXqv169d71pqpqZtuuklPPPGEunTpop07d2rVqlVatWqV16QH559/vjZt2qRp06apZ8+e+u6775STk6Njx46pX79++stf/qJXXnnF63Xj4+O1dOlSZWRkqLS0VJ9++qlWrVpV6dgZALCKw5gAOpQCANAAuAuF3NxctWnTxu5wAACnoAUEAAAAgGUoQAAAAABYhgIEAAAAgGUoQAAAAABYhkHoAAAAACxDCwgAAAAAy1CAAAAAALAMBQgAAAAAy1CAAAAAALAMBQgAAAAAy1CAAAAAALAMBQgAAAAAy1CAAAAAALAMBQgAAAAAy1CAAAAAALAMBQgAAAAAy1CAAAAAALAMBQgAAAAAy1CAAAAAALAMBQgAAAAAy1CAAAAAALAMBQgAAAAAy1CAAAAAALAMBQgAAAAAy1CAAAH48ssvddttt6lt27aKjY1VbGys2rVrpzvvvFMbNmywO7wa+/bbb3X//ferX79+atasmRwOh+bPn293WADQYIRqfli8eLFGjRqlc889V7GxsWrTpo1Gjx6t7du32x0aGjAKEMBPc+fOVffu3fXZZ5/pvvvu07vvvqv33ntP999/v7Zu3aqePXtq586ddodZIzt27NCLL76o6OhoDR061O5wAKBBCeX8MH36dB0+fFgPP/yw3n//fT322GPauHGjunXrpq1bt9odHhoohzHG2B0EEOw+/vhjXXbZZbryyiu1aNEiRUdHVzjmtddeU9++fZWSklLp6xw+fFiNGzeuz1BrpLy8XBERJ+9HbNiwQT179tS8efM0duxYewMDgCAX6vmhsLBQLVu29Nr2/fffq02bNrr55pv1zDPP2BQZGjJaQAA/TJkyRZGRkZo7d67P5CJJI0eO9EouY8eOVdOmTbV582YNHjxYcXFxuvzyyyVJ+/fv1913362zzjpL0dHROuecc/Twww+rtLTUc/7u3bsr7QrlcDiUnZ3teZ6dnS2Hw6GNGzdqxIgRio+PV0JCgsaMGaMff/yx2p/PXXwAAAIT6vnh9OJDklJSUnT22WcrLy+v2vMBX6LsDgAIdmVlZVqxYoV69Oih5OTkgM49duyYrrrqKt1555168MEHdeLECR09elQDBgzQzp07NXnyZHXp0kUfffSRpk6dqpycHL333ns1jnX48OG67rrrNG7cOG3dulWPPPKItm3bps8++0yNGjWq8esCACoK1/ywa9cu7dmzR8OGDatxPAhvFCBANfbt26cjR44oNTW1wr6ysjKd2osxMjJSDofD8/z48eN69NFHdcstt3i2zZ07V19++aUWLlyokSNHSpIGDRqkpk2b6oEHHtCyZcs0aNCgGsU6YsQIzZgxQ5I0ePBgJSUlafTo0Vq4cKFGjx5do9cEAPgWjvnhxIkTuu2229S0aVP99re/rVEsAP0ugFro3r27GjVq5Hn89a9/rXDMNddc4/V8+fLlatKkia699lqv7e7xFv/5z39qHM/pSeS6665TVFSUVqxYUePXBAAELhTzgzFGt912mz766CMtWLBArVq1qnE8CG+0gADVaNGihWJjY7Vnz54K+1566SUdPnxY+fn5uuqqqyrsb9y4seLj4722FRUVyeVyed0Jk072s42KilJRUVGNY3W5XF7Po6Ki1Lx581q9JgDAt3DKD8YY3X777XrhhRf03HPP6eqrr65xLAAtIEA1IiMjNXDgQG3YsEH5+fle+zp06KAePXqoc+fOPs89PYlIUvPmzfXDDz/o9AnoCgsLdeLECbVo0UKSFBMTI0leAw8lVZksCgoKvJ6fOHFCRUVFat68eaXnAABqJlzyg7v4mDdvnp555hmNGTOm2nOAqlCAAH6YOHGiysrKNG7cOB0/frxWr3X55Zfr4MGDevPNN722L1iwwLNfkpKSkhQTE6Mvv/zS67i33nqr0td+8cUXvZ4vXLhQJ06cUP/+/WsVMwDAt1DPD8YY3XHHHZo3b57mzp3rNWYFqCm6YAF+6Nu3r2bPnq17771X3bp1069//Wt17NhRERERys/P1+uvvy5JFZrTfbn55ps1e/ZsZWVlaffu3ercubPWrFmjKVOmaOjQofrVr34l6eTdsTFjxujZZ59V27ZtlZ6ernXr1umll16q9LUXL16sqKgoDRo0yDPLSXp6uq677rpq41q0aJGkk7ObSCfXA2natKkkVeiPDAA4KdTzw29+8xv961//0q233qrOnTtr7dq1nn1Op1MXXnihP5cJ8GYA+C0nJ8fccsstJi0tzTidThMTE2POPfdcc/PNN5v//Oc/XsdmZWWZJk2a+HydoqIiM27cOJOcnGyioqJMamqqmThxojl69KjXccXFxeb22283SUlJpkmTJiYzM9Ps3r3bSDKTJk3yHDdp0iQjyXz++ecmMzPTNG3a1MTFxZlRo0aZH374wa+fTVKlDwBA1UI1P6SmplaaG1JTUwO+ToAxxrASOhACsrOzNXnyZP3444+ePsIAAJAfEIwYAwIAAADAMhQgAAAAACxDFywAAAAAlgmJFpDVq1crMzNTKSkpcjgcFaav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",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=800.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "utils1.plot_anscombes_quartet()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "af7aa0f3",
   "metadata": {},
   "source": [
    "Upon visualizing the data, the four groups appear to be quite distinct:\n",
    "\n",
    "1. The first group shows a clear linear relationship between `x` and `y`.\n",
    "2. The second group, on the other hand, exhibits a non-linear pattern, indicating that the usual Pearson correlation may not be appropriate to describe the dataset.\n",
    "3. The third group would be linear if it were not for a single outlier.\n",
    "4. The fourth group demonstrates that `y` can have different values for the same `x`, suggesting that there is no clear relationship between `x` and `y`. However, there is also an outlier in this group.\n",
    "\n",
    "These four groups illustrate that summary statistics alone are not sufficient for investigating data. Visualizing the data, analyzing possible outliers, and identifying more complex relationships are essential to gain a better understanding of the underlying patterns in the data."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4d829a1f",
   "metadata": {},
   "source": [
    "# 2 - Second data set - Datasaurus Dozen\n",
    "\n",
    "The creation of Anscombe's quartet inspired other authors to generate datasets that have different relationships among its points but share the same summary statistics. One such dataset is the Datasaurus Dozen, which was created by AutoDesk. \n",
    "\n",
    "In this case, you will take a different approach. Instead of analyzing summary statistics and then plotting the data points, you will compare two datasets from the dozen and compute their statistics."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "76d174b1",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_datasaurus = pd.read_csv(\"datasaurus.csv\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f0aaf119",
   "metadata": {},
   "source": [
    "The next cell will run a widget where you can investigate this dataset, which has different groups in it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "cc2eb2cc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a6aa523248784112beb0eeef303aea51",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "VBox(children=(HBox(children=(Dropdown(description='Data set 1: ', options=('dino', 'away', 'h_lines', 'v_line…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f3ceadc1646047a19930f5870faa559d",
       "version_major": 2,
       "version_minor": 0
      },
      "image/png": "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MAC4BT0gQWRkZKh3794hy+Tk5HCDYhPa0h60o31oS3uEa0d6PgDAffjKCQAAAIBjCEAAAAAAOIYAJApZWVl65JFHlJWVleiqpDza0h60o31oS3vQjgCAYEhCBwAAAOAYekAAAAAAOIYABAAAAIBjCEAAAAAAOIYAJIjFixdr1KhRys7OVn5+vqZMmaJDhw75lTHGaOHChSoqKlK3bt00fvx4HTx4MEE1Th2LFy+Wx+PR3LlzfctoS+s++eQT3X777crLy1P37t01bNgw7dmzx7eetgzv3Llz+s1vfqN+/fqpW7du6t+/vx599FG1tLT4ytCOgb3zzju66aabVFRUJI/Ho1dffdVvvZV2a2xs1H333aeePXvqG9/4hr7//e/r448/dvAsAACJRAASxNatW1VaWqqdO3eqrKxM586d08SJE3X69GlfmSVLlmjZsmVavny5ysvLVVhYqJKSEjU0NCSw5smtvLxczz33nK644gq/5bSlNXV1dRo7dqw6d+6sv/zlL6qoqNDvfvc7nXfeeb4ytGV4Tz75pJ599lktX75c77//vpYsWaKlS5fqD3/4g68M7RjY6dOndeWVV2r58uUB11tpt7lz5+qVV17R2rVrtW3bNn3++eeaPHmympubnToNAEAiGVhSU1NjJJmtW7caY4xpaWkxhYWF5oknnvCV+fLLL01ubq559tlnE1XNpNbQ0GAGDRpkysrKzLhx48ycOXOMMbRlJB588EFzzTXXBF1PW1ozadIkc8cdd/gtu+WWW8ztt99ujKEdrZJkXnnlFd/vVtrts88+M507dzZr1671lfnkk09MRkaGefPNNx2rOwAgcegBsai+vl6S1KNHD0nSsWPHVF1drYkTJ/rKZGVlady4cdq+fXtC6pjsSktLNWnSJF1//fV+y2lL6zZs2KCRI0fq1ltvVX5+voYPH66VK1f61tOW1lxzzTX661//qg8++ECS9O6772rbtm268cYbJdGO0bLSbnv27NHZs2f9yhQVFWno0KG0LQC4RKdEVyAVGGM0b948XXPNNRo6dKgkqbq6WpJUUFDgV7agoEDHjx93vI7Jbu3atdq7d6/Ky8s7rKMtrTt69KhWrFihefPm6de//rV27dqln//858rKytKMGTNoS4sefPBB1dfXa/DgwcrMzFRzc7Mef/xxTZs2TRLvyWhZabfq6mp16dJF559/focyrdsDANIbAYgF9957r/75z39q27ZtHdZ5PB6/340xHZa5XWVlpebMmaONGzeqa9euQcvRluG1tLRo5MiRWrRokSRp+PDhOnjwoFasWKEZM2b4ytGWoa1bt05r1qzRyy+/rMsuu0z79+/X3LlzVVRUpJkzZ/rK0Y7RiabdaFsAcA+GYIVx3333acOGDdq8ebN69+7tW15YWChJHb6xq6mp6fDtn9vt2bNHNTU1GjFihDp16qROnTpp69at+v3vf69OnTr52ou2DK9Xr14aMmSI37JLL71UJ06ckMT70qr58+frl7/8pX70ox/p8ssv1/Tp03X//fdr8eLFkmjHaFlpt8LCQjU1Namuri5oGQBAeiMACcIYo3vvvVfr16/X22+/rX79+vmt79evnwoLC1VWVuZb1tTUpK1bt+rqq692urpJ7brrrtOBAwe0f/9+38/IkSN12223af/+/erfvz9tadHYsWM7TAf9wQcfqG/fvpJ4X1r1xRdfKCPD//KXmZnpm4aXdoyOlXYbMWKEOnfu7FemqqpK7733Hm0LAG6RuPz35Hb33Xeb3Nxcs2XLFlNVVeX7+eKLL3xlnnjiCZObm2vWr19vDhw4YKZNm2Z69eplvF5vAmueGtrOgmUMbWnVrl27TKdOnczjjz9uDh8+bF566SXTvXt3s2bNGl8Z2jK8mTNnmgsvvNC8/vrr5tixY2b9+vWmZ8+eZsGCBb4ytGNgDQ0NZt++fWbfvn1Gklm2bJnZt2+fOX78uDHGWrv97Gc/M7179zabNm0ye/fuNd/5znfMlVdeac6dO5eo0wIAOIgAJAhJAX9WrVrlK9PS0mIeeeQRU1hYaLKyssy1115rDhw4kLhKp5D2AQhtad1rr71mhg4darKysszgwYPNc88957eetgzP6/WaOXPmmD59+piuXbua/v37m4ceesg0Njb6ytCOgW3evDngtXHmzJnGGGvtdubMGXPvvfeaHj16mG7dupnJkyebEydOJOBsAACJ4DHGmMT0vQAAAABwG3JAAAAAADiGAAQAAACAYwhAAAAAADiGAAQAAACAYwhAAAAAADiGAAQAAACAYwhAAAAAADiGAAQAAACAYwhAAAAAADiGAAQAAACAYwhAAAAAADiGAARIYf/6179UWFioRYsW+Zb94x//UJcuXbRx48YE1gwAACAwjzHGJLoSAKL3xhtvaMqUKdq+fbsGDx6s4cOHa9KkSXr66acTXTUAAIAOCECANFBaWqpNmzZp1KhRevfdd1VeXq6uXbsmuloAAAAdEIAAaeDMmTMaOnSoKisrtXv3bl1xxRWJrhIAAEBA5IAAaeDo0aM6efKkWlpadPz48URXBwAAICh6QIAU19TUpG9/+9saNmyYBg8erGXLlunAgQMqKChIdNUAAAA6IAABUtz8+fP1pz/9Se+++66++c1vasKECcrOztbrr7+e6KoBAAB0wBAsIIVt2bJFTz/9tF588UXl5OQoIyNDL774orZt26YVK1YkunoAAAAd0AMCAAAAwDH0gAAAAABwDAEIAAAAAMcQgAAAAABwDAEIAAAAAMcQgAAAAABwDAEIAAAAAMcQgAAAAABwDAEIAAAAAMcQgAAAAABwDAEIAAAAAMcQgAAAAABwDAEIAAAAAMcQgAAAAABwDAEIAAAAAMcQgAAAAABwDAEIAAAAAMcQgAAAAABwzP8PgpACVeebT7UAAAAASUVORK5CYII=",
      "text/html": [
       "\n",
       "            <div style=\"display: inline-block;\">\n",
       "                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
       "                    Figure\n",
       "                </div>\n",
       "                <img src='' width=800.0/>\n",
       "            </div>\n",
       "        "
      ],
      "text/plain": [
       "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "utils1.display_widget()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "37513ad2",
   "metadata": {},
   "source": [
    "As you have observed, the first dataset was not an anomaly; it is possible to have different datasets with the same summary statistics. Hence, it is essential to keep in mind while analyzing data that the summary statistics alone may not provide a complete picture of the underlying patterns and relationships."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "941c9278",
   "metadata": {},
   "source": [
    "Congratulations! You have completed this ungraded lab and now understand that summary statistics may not capture all the necessary information to describe your data accurately. Keep in mind that visualizations and more in-depth analyses are often needed to get a better understanding of your data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "24dd642e",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
